#include<stdio.h>
#include<string.h>
#include "parcours.h"
#include "patient.h"
#include "personnel.h"

void menu_parcours()
{
int c;
parcours *p;
parcours p1;

printf("\n 1:anomalies");
printf("\n autre chiffre:quitter\n");
scanf("%d",&c);

switch(c){
case 1:anomalies();
break;
default:
break;
}
}



void anomalies()
{//o1
personnel p;
patient p1;
parcours tab[max];
char chemin_events[100],chemin_patient[100],chemin_personnel[100],iden[100],heure[100],capt[100];
char capteur[100];
int test,i,n,j,t,k;
/*for (j=0;j<max;j++)//initialiser tableau
{strcpy(tab[j].id,"01");strcpy(tab[j].capt,"01");}*/
n=0;
FILE *f;
strcpy(chemin_events,"evenements.log");
f=fopen(chemin_events,"r");
if (f==NULL)
printf("impossible d'acceder au fichier \n");
else
{//o2
while(fscanf(f,"%s %s %s",heure,iden,capteur)!=EOF){//o3

i=recherche(n,iden,tab);
if (i!=0)
strcat(tab[i].capt,capteur);
else {//o4
n++;
strcpy(tab[n].id,iden);
strcpy(tab[n].capt,capteur);}//c4
}//c3
fclose(f);
}//c2
j=0;
while(j<n)
{j++;
if(strcmp((tab[j].capt),"E01C01S01L01C02I01L02V01D01B01")!=0 || strcmp((tab[i].capt),"E01C01S01L01C02I01L02V01D01M01")!=0){//o5
t=rechercher1_personnel(p,tab[j].id);
k=rechercher0_patient(p1,tab[j].id);
if ((t==0)&&(k==0)) printf("la personne ayant l'identifiant %s a commis une ou plusieurs infraction  \n",tab[j].id);

else if ((t==1)&&(k==0)) printf("a commis une ou plusieurs infraction liées au parcours \n");
}//c5
}
f=fopen(chemin_events,"r");
if (f==NULL)
printf("impossible d'acceder au fichier \n");
else
{//o2
while(fscanf(f,"%s %s %s",heure,iden,capteur)!=EOF){
t=rechercher0_personnel(p,iden);
k=rechercher1_patient(p1,iden);
if ((t==1)&&(k==0))
{if (strcmp(capteur,"EBOLA")==0)
{rechercher1_personnel(p,iden);
printf("ALERTE,ce personnel peut etre infecté(camera EBOLA) \n");}
else if (strcmp(capteur,"POUT")==0) printf("ALERTE,ce personnel a tenté de quitter la clinique par la barriere(capteur POUT) \n");}
if ((t==0)&&(k==1))
{if (strcmp(capteur,"POUT")==0)
printf("ALERTE,ce patient a tenté de quitter la clinique(capteur POUT) \n");
else if (strcmp(capteur,"S01")==0)
printf("ALERTE,ce patient a quitté la zone d'isolation(capteur S01) \n");
else if ((strcmp(capteur,"POUT")!=0)&&(strcmp(capteur,"S01")!=0)) printf ("ce patient a commis des infractions(activation d'un capteur different de S01 et POUT) \n");}
}
}
fclose(f);
}//c1







int recherche(int n,char k[max],parcours tab[max])
{

int i,s=0;
for(i=1;i<=n;i++){
if(strcmp(k,(tab[i].id))==0)
 {s=i;
break;}
}
return(s);
}



























